#!/usr/bin/env python
"""
Acorn-SDR ('A Collection of Radio Nodes')
(c) Bob Cowdery (G3UKB) 2008

File: profiles.py
Date: April 2009

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

The author can be reached by email at

bob@g3ukb.co.uk

================================================================================
Module Description:

Each capability represents a different set of capabilities. Each profile has a
capability set that drives the control part of the GUI. Capabilities can be
shared between profiles.

"""

#-------------------------------------------------------------------------------
# System imports

# Capability data set
capabilities = {
    # Note, no spaces in the lists
    'cap#1': {    
        # PyDSP with HPSDR
        'multirx':  False,
        'vfo': True,
        'oscillator': False,
        'lowFreq': 0.1,
        'highFreq': 60.0,
        'tx': False,
        'rxproc': '', 
        'modes':  'LSB,USB,CW-L,CW-U,AM',
        'filters': '6K0,2K4,2K1,1K0,500,250,100,50',
        'agc': 'AGC_FIXED,AGC_SLOW,AGC_MEDIUM,AGC_FAST',
        'graphics': False,
    },
    'cap#2': {    
        # PyDSP with SDR1K
        'multirx':  False,
        'vfo': True,
        'oscillator': False,
        'lowFreq': 0.1,
        'highFreq': 60.0,
        'tx': False,
        'rxproc': '', 
        'modes':  'LSB,USB,CW-L,CW-U,AM',
        'filters': '6K0,2K4,2K1,1K0,500,250,100,50',
        'agc': 'AGC_FIXED,AGC_SLOW,AGC_MEDIUM,AGC_FAST',
        'graphics': False,
    },
    'cap#3': {    
        # DttSp with HPSDR
        'multirx':  True,
        'vfo': True,
        'oscillator': True,
        'lowFreq': 0.1,
        'highFreq': 60.0,
        'tx': True,
        'rxproc': 'RX_PROC_BIN,RX_PROC_NR,RX_PROC_NB,RX_PROC_ANF', 
        'modes':  'LSB,USB,DSB,CW-L,CW-U,FM-N,AM,SAM,DIGI-L,DIGI-U,SPEC',
        'filters': '6K0,2K4,2K1,1K0,500,250,100,50',
        'agc': 'AGC_FIXED,AGC_LONG,AGC_SLOW,AGC_MEDIUM,AGC_FAST',
        'graphics': True,
        'displays': 'Panadapter',
        'rx_meter': 'RX_SIGNAL_STRENGTH,RX_AVG_SIGNAL_STRENGTH',
    },
    'cap#4': {    
        # DttSp with SDR1K
        'multirx':  True,
        'vfo': True,
        'oscillator': True,
        'lowFreq': 0.1,
        'highFreq': 60.0,
        'tx': False,
        'rxproc': 'RX_PROC_BIN,RX_PROC_NR,RX_PROC_NB,RX_PROC_ANF', 
        'modes':  'LSB,USB,DSB,CW-L,CW-U,FM-N,AM,SAM,DIGI-L,DIGI-U,SPEC',
        'filters': '6K0,2K4,2K1,1K0,500,250,100,50',
        'agc': 'AGC_FIXED,AGC_LONG,AGC_SLOW,AGC_MEDIUM,AGC_FAST',
        'graphics': True,
        'displays': 'Panadapter',
        'rx_meter': 'RX_SIGNAL_STRENGTH,RX_AVG_SIGNAL_STRENGTH',
    },
    'cap#5': {    
        # DttSp with Softrock 40M
        'multirx':  True,
        'vfo': False,
        'oscillator': True,
        # For centre freq set both to the same
        'lowFreq': 7.055,
        'highFreq': 7.055,
        'tx': False,
        'rxproc': 'RX_PROC_BIN,RX_PROC_NR,RX_PROC_NB,RX_PROC_ANF', 
        'modes':  'LSB,USB,DSB,CW-L,CW-U,FM-N,AM,SAM,DIGI-L,DIGI-U,SPEC',
        'filters': '6K0,2K4,2K1,1K0,500,250,100,50',
        'agc': 'AGC_FIXED,AGC_LONG,AGC_SLOW,AGC_MEDIUM,AGC_FAST',
        'graphics': True,
        'displays': 'Panadapter',
        'rx_meter': 'RX_SIGNAL_STRENGTH,RX_AVG_SIGNAL_STRENGTH',
    },
    'cap#6': {    
        # DttSp with Softrock 80M
        'multirx':  True,
        'vfo': False,
        'oscillator': True,
        # For centre freq set both to the same
        'lowFreq': 3.522,
        'highFreq': 3.522,
        'tx': False,
        'rxproc': 'RX_PROC_BIN,RX_PROC_NR,RX_PROC_NB,RX_PROC_ANF', 
        'modes':  'LSB,USB,DSB,CW-L,CW-U,FM-N,AM,SAM,DIGI-L,DIGI-U,SPEC',
        'filters': '6K0,2K4,2K1,1K0,500,250,100,50',
        'agc': 'AGC_FIXED,AGC_LONG,AGC_SLOW,AGC_MEDIUM,AGC_FAST',
        'graphics': True,
        'displays': 'Panadapter',
        'rx_meter': 'RX_SIGNAL_STRENGTH,RX_AVG_SIGNAL_STRENGTH',
    },
}